// EcoModeler - C# Edition :: Version 9.16 build 3301
using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using Eco.Services;
using Eco.ObjectRepresentation;
using Eco.ObjectImplementation;
using Eco.UmlRt;
using Eco.UmlCodeAttributes;
using Eco.Subscription;
using CommonClasses.Model;
using System.Windows.Forms;

namespace TestImplementations.Model
{
	#region MM_ECO_Generated
	#region Attributes
	[UmlElement(Id="{52878207-56fc-4038-a773-cb291dac7cbb}")]
	#endregion

	#endregion
	public class TestInterpretationBlock: IInterpretationBlock
	{
		#region MM_ECO AutoGenerated ECO code

		new public struct Eco_LoopbackIndices
		{
			public const int Eco_FirstMember = IInterpretationBlock.Eco_LoopbackIndices.Eco_MemberCount;
			public const int Eco_MemberCount = (Eco_FirstMember + 0);
		}
		#endregion

		#region MM_ECO Model owned attributes
		//Note: Do not remove any property within this region, nor change its signature
		#endregion

		#region MM_ECO Model owned methods
		//Note: Do not remove any method within this region, nor change its signature

		public TestInterpretationBlock(IContent content) : base(content)
		{
			#region MM_ECO_Generated
			#endregion
		}

		public TestInterpretationBlock(IEcoServiceProvider serviceProvider) : base(serviceProvider)
		{
			try
			{
				// Place user code ONLY here
			}
			catch (System.Exception)
			{
				this.Deinitialize(serviceProvider);
				throw;
			}
		}
		#endregion

        public override void CompilationFailed(ErrorReport report)
        {
            OnCompilationFailed(report);
        }

        public override void InterpretationFinished()
        {
            OnInterpretationFinished();
        }

        public override void InterpretationStarted()
        {
            OnInterpretationStarted();
        }

        public override void RunTimeErrorOccured(string message)
        {
            OnRunTimeErrorOccured(message);
        }

        public event CompilationFailedHandler OnCompilationFailed;
        public event MethodInvoker OnInterpretationFinished;
        public event MethodInvoker OnInterpretationStarted;
        public event RunTimeErrorOccuredHandler OnRunTimeErrorOccured;
    }
}
